
def outbound_mon_call1():
  """Outbound call DN1 to Ext1Dn, release DN1"""
  DN1.MakeCall(Ext1DN2)
  Ext1DN2.AnswerCall()
  DN1.ReleaseCall()

def outbound_mon_call2():
  """Outbound call DN1 to Ext1Dn, abnormal release DN1"""
  DN1.MakeCall(Ext1DN2)
  DN1.ReleaseCall()

def outbound_mon_call3():
  """Outbound call DN1 to Ext1Dn, release Ext1Dn"""
  DN1.MakeCall(Ext1DN2)
  Ext1DN2.AnswerCall()
  Ext1DN2.ReleaseCall()

def outbound_mon_trans1():
  """DN1 call to DN2, DN2 two step transfer to Ext1DN, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(Ext1DN2)
  Ext1DN2.AnswerCall()
  DN2.CompleteTransfer()
  DN1.ReleaseCall()

def outbound_mon_trans2():
  """DN1 call to DN2, DN2  tinit  transfer to Ext1DN,  abnormal release DN2, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(Ext1DN2)
  DN2.ReleaseCall()
  DN1.ReleaseCall()

def outbound_mon_trans3():
  """DN1 call to DN2, DN2 2step transfer to Ext1DN,  completed before cons. party answer, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(Ext1DN2)
  DN2.CompleteTransfer()
  Ext1DN2.AnswerCall()
  DN1.ReleaseCall()

def outbound_mon_conf1():
  """DN1 call to DN2, DN2 conference to Ext1DN, release DN1,DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(Ext1DN2)
  Ext1DN2.AnswerCall()
  DN2.CompleteConference()
  DN1.ReleaseCall()
  DN2.ReleaseCall()

def outbound_mon_conf2():
  """DN1 call to DN2, DN2 cinit conference to Ext1DN, abnormal release DN2, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(Ext1DN2)
  DN2.ReleaseCall()
  DN1.ReleaseCall()


